<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Spice Audio: Spice-GTK Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.78.1">
<link rel="home" href="index.html" title="Spice-GTK Reference Manual">
<link rel="up" href="application-support.html" title="Application Support, from spice-client-glib">
<link rel="prev" href="application-support.html" title="Application Support, from spice-client-glib">
<link rel="next" href="SpiceSmartcardManager.html" title="Spice Smartcard Manager">
<meta name="generator" content="GTK-Doc V1.24 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#SpiceAudio.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#SpiceAudio.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#SpiceAudio.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="application-support.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="application-support.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="SpiceSmartcardManager.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="SpiceAudio"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="SpiceAudio.top_of_page"></a>Spice Audio</span></h2>
<p>Spice Audio — a helper to play and to record audio channels</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="SpiceAudio.stability-level"></a><h2>Stability Level</h2>
<acronym title="The intention of a Stable interface is to enable arbitrary third parties to
develop applications to these interfaces, release them, and have confidence that
they will run on all minor releases of the product (after the one in which the
interface was introduced, and within the same major release). Even at a major
release, incompatible changes are expected to be rare, and to have strong
justifications.
"><span class="acronym">Stable</span></acronym>, unless otherwise indicated
</div>
<div class="refsect1">
<a name="SpiceAudio.functions"></a><h2>Functions</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody>
<tr>
<td class="function_type">
<a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="returnvalue">SpiceAudio</span></a> *
</td>
<td class="function_name">
<a class="link" href="SpiceAudio.html#spice-audio-get" title="spice_audio_get ()">spice_audio_get</a> <span class="c_punctuation">()</span>
</td>
</tr>
<tr>
<td class="function_type">
<a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="returnvalue">SpiceAudio</span></a> *
</td>
<td class="function_name">
<a class="link" href="SpiceAudio.html#spice-audio-new" title="spice_audio_new ()">spice_audio_new</a> <span class="c_punctuation">()</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SpiceAudio.properties"></a><h2>Properties</h2>
<div class="informaltable"><table border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<span class="type">GMainContext</span> *</td>
<td class="property_name"><a class="link" href="SpiceAudio.html#SpiceAudio--main-context" title="The “main-context” property">main-context</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
<tr>
<td class="property_type">
<a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> *</td>
<td class="property_name"><a class="link" href="SpiceAudio.html#SpiceAudio--session" title="The “session” property">session</a></td>
<td class="property_flags">Read / Write / Construct Only</td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SpiceAudio.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="SpiceAudio.html#SpiceAudio-struct" title="struct SpiceAudio">SpiceAudio</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="SpiceAudio.html#SpiceAudioClass" title="struct SpiceAudioClass">SpiceAudioClass</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="SpiceAudio.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    GObject
    <span class="lineart">╰──</span> SpiceAudio
</pre>
</div>
<div class="refsect1">
<a name="SpiceAudio.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;spice-client.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="SpiceAudio.description"></a><h2>Description</h2>
<p>A class that handles the playback and record channels for your
application, and connect them to the default sound system.</p>
</div>
<div class="refsect1">
<a name="SpiceAudio.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="spice-audio-get"></a><h3>spice_audio_get ()</h3>
<pre class="programlisting"><a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="returnvalue">SpiceAudio</span></a> *
spice_audio_get (<em class="parameter"><code><a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> *session</code></em>,
                 <em class="parameter"><code><span class="type">GMainContext</span> *context</code></em>);</pre>
<p>Gets the <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> associated with the passed in <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a>.
A new <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> instance will be created the first time this
function is called for a certain <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a>.</p>
<p>Note that this function returns a weak reference, which should not be used
after the <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> itself has been unref-ed by the caller.</p>
<div class="refsect3">
<a name="id-1.2.5.2.10.2.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>session</p></td>
<td class="parameter_description"><p>the <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> to connect to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p> a <span class="type">GMainContext</span> to attach to (or <code class="literal">NULL</code> for default). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.5.2.10.2.7"></a><h4>Returns</h4>
<p> a weak reference to a <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a>
instance or <code class="literal">NULL</code> if failed. </p>
<p><span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span></p>
</div>
</div>
<hr>
<div class="refsect2">
<a name="spice-audio-new"></a><h3>spice_audio_new ()</h3>
<pre class="programlisting"><a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="returnvalue">SpiceAudio</span></a> *
spice_audio_new (<em class="parameter"><code><a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> *session</code></em>,
                 <em class="parameter"><code><span class="type">GMainContext</span> *context</code></em>,
                 <em class="parameter"><code>const <span class="type">char</span> *name</code></em>);</pre>
<div class="warning">
<p><code class="literal">spice_audio_new</code> has been deprecated since version 0.8 and should not be used in newly-written code.</p>
<p>Use <a class="link" href="SpiceAudio.html#spice-audio-get" title="spice_audio_get ()"><code class="function">spice_audio_get()</code></a> instead</p>
</div>
<p>Once instantiated, <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> will handle the playback and record
channels to stream to your local audio system.</p>
<div class="refsect3">
<a name="id-1.2.5.2.10.3.6"></a><h4>Parameters</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>session</p></td>
<td class="parameter_description"><p>the <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> to connect to</p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>context</p></td>
<td class="parameter_description"><p> a <span class="type">GMainContext</span> to attach to (or <code class="literal">NULL</code> for
default). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
<tr>
<td class="parameter_name"><p>name</p></td>
<td class="parameter_description"><p> a name for the audio channels (or <code class="literal">NULL</code> for
application name). </p></td>
<td class="parameter_annotations"><span class="annotation">[<acronym title="NULL is OK, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="id-1.2.5.2.10.3.7"></a><h4>Returns</h4>
<p> a new <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> instance or <code class="literal">NULL</code> if no backend or failed.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="SpiceAudio.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="SpiceAudio-struct"></a><h3>struct SpiceAudio</h3>
<pre class="programlisting">struct SpiceAudio;</pre>
<p>The <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> struct is opaque and should not be accessed directly.</p>
</div>
<hr>
<div class="refsect2">
<a name="SpiceAudioClass"></a><h3>struct SpiceAudioClass</h3>
<pre class="programlisting">struct SpiceAudioClass {
    GObjectClass parent_class;
};
</pre>
<p>Class structure for <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a>.</p>
<div class="refsect3">
<a name="id-1.2.5.2.11.3.5"></a><h4>Members</h4>
<div class="informaltable"><table width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody><tr>
<td class="struct_member_name"><p><span class="type">GObjectClass</span> <em class="structfield"><code><a name="SpiceAudioClass.parent-class"></a>parent_class</code></em>;</p></td>
<td class="struct_member_description"><p>Parent class.</p></td>
<td class="struct_member_annotations"> </td>
</tr></tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="SpiceAudio.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="SpiceAudio--main-context"></a><h3>The <code class="literal">“main-context”</code> property</h3>
<pre class="programlisting">  “main-context”             <span class="type">GMainContext</span> *</pre>
<p>GMainContext to use for the event source.</p>
<p>Flags: Read / Write / Construct Only</p>
</div>
<hr>
<div class="refsect2">
<a name="SpiceAudio--session"></a><h3>The <code class="literal">“session”</code> property</h3>
<pre class="programlisting">  “session”                  <a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> *</pre>
<p><a class="link" href="SpiceSession.html" title="Spice Session"><span class="type">SpiceSession</span></a> this <a class="link" href="SpiceAudio.html" title="Spice Audio"><span class="type">SpiceAudio</span></a> is associated with</p>
<p>Flags: Read / Write / Construct Only</p>
</div>
</div>
<div class="refsect1">
<a name="SpiceAudio.see-also"></a><h2>See Also</h2>
<p><a class="link" href="SpiceRecordChannel.html" title="Record Channel"><span class="type">SpiceRecordChannel</span></a>, and <a class="link" href="SpicePlaybackChannel.html" title="Playback Channel"><span class="type">SpicePlaybackChannel</span></a></p>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.24</div>
</body>
</html>